%%%-------------------------------------------------------------------
%%% @author Rain
%%% @doc 帧同步头文件定义
%%% @end
%%%-------------------------------------------------------------------
-author("Rain").

-ifndef(ELOCK_STEP_HRL).
-define(ELOCK_STEP_HRL, true).

-define(LS_MATCH_KEY_MATCH_COUNT,       match_count).       % 帧同步匹配相关key - 匹配总人数
-define(LS_MATCH_KEY_WAIT_MATCH_ROLES,  wait_match_roles).  % 帧同步匹配相关key - 等待匹配的玩家列表

-record(ls_uniq_id, {key, value}). % 帧同步唯一id记录
-record(ls_match_room, {match_id, room_pid}). % match_id和room_pid的映射关系
-record(ls_role_match, {role_id, match_id}). % 角色匹配的信息

-record(ls_vector, {x, y, z}).
-record(ls_quaternion, {x, y, z, w}).

-define(TABLE_LS_UNIQ_ID, ls_uniq_id).
-define(TABLE_LS_MATCH_ROOM, ls_match_room).
-define(TABLE_LS_ROLE_MATCH, ls_role_match).

-define(LS_WARN(Format), ?LS_WARN(Format, [])).
-define(LS_WARN(Format, Args), elock_step_behaviour:log(warn, Format, Args)).

-define(LS_ERROR(Format), ?LS_ERROR(Format, [])).
-define(LS_ERROR(Format, Args), elock_step_behaviour:log(error, Format, Args)).

%% 满足条件就中断并返回Return, 否则通过
-define(LS_MAYBE(Expr, Return), ok ?= begin (case (Expr) of true -> Return; false->ok end) end).


-endif.